package com.shujia.wyh.day17;

/*
      需求1：求出100这个数据的二进制，八进制，十六进制。
      需求2：如何使用代码求出int类型等基本数据类型的范围呢？

      如果按照之前的做法，需求1我们可以按照数学逻辑一步一步计算，但是需求2，我们不知道从哪下手。
      如果说有一种办法，可以对基本数据类型进行更多的操作，更方便的操作就好了。
      Java针对每一个基本数据类型都提供了一个对应的类给我们使用，既然是类了，就可以创建对象，调用类中的方法来实现需求。
      这样的对应着每一个基本数据类型的类，称之为包装类。
      基本数据类型：            包装类类型：
      byte                   Byte
      short                  Short
      int                    Integer
      long                   Long
      float                  Float
      double                 Double
      char                   Character
      boolean                Boolean

      综上所述，每一个基本数据类型都一个对应的包装类，上课只举例int对应的包装类Integer

      包装类类型的使用场景：
        1、在今后的集合学习中会使用到（泛型）
        2、用于基本数据类型与字符串之间做转换
 */
public class PackClassDemo1 {
    public static void main(String[] args) {
        //需求1：求出100这个数据的二进制，八进制，十六进制。
        //int类型对应的包装类Integer
        //public static String toBinaryString(int i)在基数2中返回整数参数的字符串表示形式为无符号整数。
        String s = Integer.toBinaryString(100);
        System.out.println("100的二进制是：" + s);

        //public static String toOctalString(int i)在基数8中返回整数参数的字符串表示形式为无符号整数。
        String s1 = Integer.toOctalString(100);
        System.out.println("100的八进制是：" + s1);

        //public static String toHexString(int i)返回整数参数的字符串表示形式，作为16位中的无符号整数。
        String s2 = Integer.toHexString(100);
        System.out.println("100的十六进制是：" + s2);

        // 需求2：如何使用代码求出int类型等基本数据类型的范围呢？
        //static int MAX_VALUE  一个持有最大值一个 int可以有2 31 -1。
        //static int MIN_VALUE 的常量保持的最小值的 int可以具有，-2 31。
        //获取int类型的最大范围值
        System.out.println(Integer.MAX_VALUE);

        //获取int类型的最小范围值
        System.out.println(Integer.MIN_VALUE);



    }
}
